﻿
namespace BEGDC.PreContract.DAL
{
    using System;
    using System.Collections.Generic;
    using Castle.ActiveRecord;
    using NHibernate.Expression;


    [ActiveRecord]
    public partial class TempContractList : ActiveRecordBase<TempContractList>
    {
		#region Const Definition
		
		public const string CONST_TempID								= "TempID";
		public const string CONST_GUID									= "GUID";
		public const string CONST_ContractNo							= "ContractNo";
		public const string CONST_UpdateDate							= "UpdateDate";

		#endregion
		
        #region Member Variables
        // Primary Key
        private System.Int32 _tempID;
        
        // Non Key
        private System.String _gUID;
        private System.String _contractNo;
        private Nullables.NullableDateTime _updateDate;

        // Parents
        
        
		

        #endregion

        public TempContractList() {
               
        }
        public TempContractList(
            System.String gUID
            ,System.String contractNo
            ,Nullables.NullableDateTime updateDate) : this() {
                
            this._gUID = gUID; 
            this._contractNo = contractNo; 
            this._updateDate = updateDate; 
        }
        
        #region Properties
        // Primary Key        
		
		#if (SQLServer)
        [PrimaryKey]
		#else
		[PrimaryKey(PrimaryKeyType.Native, SequenceName = "SEQ_TEMPCONTRACTLIST_TEMPID")]
		#endif
        public System.Int32 TempID {
            get { return this._tempID; }
            set {  this._tempID = value; }
        }
        
        // Non Key
        [Property]
        public System.String GUID {
            get { return this._gUID; }
			set { if (value == null) return; if (value.Length > 50) this._gUID = value.Substring(0,50); else this._gUID = value; }	
        }
        
        [Property]
        public System.String ContractNo {
            get { return this._contractNo; }
			set { if (value == null) return; if (value.Length > 20) this._contractNo = value.Substring(0,20); else this._contractNo = value; }	
        }
        
        [Property]
        public Nullables.NullableDateTime UpdateDate {
            get { return this._updateDate; }
			set { this._updateDate = value; }
        }
        
        
        // Parent Relationships
        // Child Relationships
        
		
        #endregion
		
		// Clone
		public TempContractList Clone()
		{
			TempContractList newTempContractList = new TempContractList();
			
            newTempContractList.GUID = this._gUID; 
            newTempContractList.ContractNo = this._contractNo; 
            newTempContractList.UpdateDate = this._updateDate; 
			return newTempContractList;
		}
    }
}



